This application is related to three applications by the inventors named in this application, titled xe2x80x9cSystem for Automatically Routing Calls To Call Center Agents in an Agent Surplus Condition Based on Delay Probabilitiesxe2x80x9d, xe2x80x9cSystem for Automatically Predicting Call Center Agent Work Time in a Multi-skilled Agent Environmentxe2x80x9d, xe2x80x9cSystem for Automatically Routing Calls To Call Center Agents in an Agent Surplus Condition Based on Agent Occupancyxe2x80x9d, filed on the same date as the present application.
1. Field of the Invention
This invention relates to Automatic Call Distribution (ACD) systems also termed xe2x80x9ccall centersxe2x80x9d and to a call routing process that routes incoming calls to a destination call center agent in a manner that is appropriate to the incoming call and the agent skill level.
2. Problem
It is a problem in customer service scenarios, such as a call center, that these systems are architected in a manner to minimize the cost of providing the offered services pursuant to some predefined level of responsiveness to customers"" requests. The call center systems typically provide a pool of customer service representatives (termed xe2x80x9cagentsxe2x80x9d herein), who have various skill levels, to provide the customer with a substantially appropriate response to their inquiry (also termed a xe2x80x9ccontactxe2x80x9d herein).
The agents are managed by a call center administrator who manually generates metrics representative of various agent performance factors, including but not limited to: speed of processing the request, competence in providing the customer with appropriate data, knowledge of the subject matter, and the like. Call center call routing systems use these metrics to interconnect a customer with an available agent who is determined to have the skills to most efficiently process the contact. The definition of these metrics and the efficiency measure are highly subjective and typically fail to recognize many other factors that are relevant to the processing of an incoming contact.
In addition, most call center agent management systems are focused on call surplus conditions where there are more incoming calls than agents available to process the incoming calls. The call center maintains one or more call queues to maintain the received incoming calls in an active state until an agent with the necessary skill becomes available to process the incoming call. When an agent becomes available in existing call centers, the agent""s skills are determined and the highest-priority, oldest-waiting call that matches the agent""s highest priority skill is routed to this agent. Some of these skills are provided by many agents while other skills are provided by very few agents. The expectation is that multi-skill agents spend most of their time handling calls in the smaller, specialized skill pools, while providing backup to the larger, general-purpose skill pools. However, a problem with this protocol is that the callers who require an agent with the general purpose skills receive a higher level of service due to the fact that statistically, the number of agents in a skill pool determine the level of service provided. One method of addressing this problem is to over staff the smaller skill pools to equalize the level of service provided, but this is costly and inefficient, since highly trained and highly paid agents are thereby idle an excessive amount of time. The presently available agent management systems fail to provide an adaptable and automatic agent assignment capability to the call center administrator in the case where a number of the agents are multi-skilled.
One system that addresses this problem is disclosed in U.S. patent application Ser. No. 08/992,837, titled xe2x80x9cArrangement for Equalizing Levels of Service Among Skillsxe2x80x9d wherein the agent selection is based on a determination of which available agent""s handling of the incoming call produces the least deviation from selected target performance criteria. In particular, a determination is made of whether the call handler""s skill work time exceeds a target skill work time for the skill needed by the incoming call. If so, the call is left waiting for another agent and the agent is left idle to receive another incoming call. Automatically reserving an agent serves to increase the idle times of agents in the smaller skill pools which tends to equalize the level of service provided for the smaller skill pools relative to the larger skill pools. This is a radical departure from prior call center procedures where no agents were idle when there was a call in the incoming call queue.
However, existing call centers do not have the capability to efficiently and automatically fine tune the allocation of agent resources to the incoming calls received at the call center, where the agents are multi-skill capable. In addition, existing call centers fail to provide a plurality of agent allocation paradigms to thereby enable the call center administrator to adapt the operation of the call center to varying incoming call characteristics and agent skill characteristics.
The above described problems are solved and a technical advance achieved by the present system for automatically routing calls to call center agents in an agent surplus condition based upon agent skill levels, where there is a measure of each agent""s competence with a particular skill. The call center administrator is provided with an automatic agent assignment paradigm which functions to automatically increase the efficiency of assigning multiple skill agents to contacts. The presence of an agent surplus condition provides the present system with a plurality of choices in the assignment of the agent to process a presently received contact. Since the agents who staff the call center include multiple skill agents, the system must make a determination of not only which of the available agents is the best equipped to handle the present contact, but also how that assignment statistically affects the efficiency of successive assignments of agents to contacts next received, based upon the past performance of the agents and the call center. Since the traffic load presented to the call center tends to be highly variable and of content that is difficult to predict, the present system optionally provides several automatic agent assignment paradigms that each have a statistically different impact on the performance of the call center, based upon the quality and quantity of the incoming calls.
A first of these processes is the dynamic skill assignment process which extends the use of the mathematical computations, which were developed for Predicted Wait Time and Service Objective for call surplus conditions, to agent surplus conditions. The dynamic skill assignment process assigns skill levels to agents on a per call basis, rather than being limited to a fixed number of manually assigned skill levels. The dynamic skill assignment process creates a weighted advance time (Expected Wait Time) and a weighted probability of delay for each agent skill and each standard queue priority. The weighted probability of delay for each skill and standard queue priority is computed using an exponential moving average that is updated whenever an incoming call is offered to a skill at a given queue priority. The value passed to the exponential moving average is one if the call is queued because there is no available agent and zero if the call is not queued, in that an agent is available.
A second process is the skill target level process which uses the existing percent allocation feature to assign each agent/skill combination such that predefined service targets are met for each call type. This process requires a target service level and a description of the agents available to handle calls. All of an agent""s skills are initially treated equally, with the percentage allocation for each of n agent skills being 100%÷n. A weighted service level for each skill is computed using an exponential moving average and can be event driven or based upon expected wait time. Periodically, the system determines the skill that is most over its target service level and the skill that is most under its target service level. If any agents are assigned both skills, decrement the allocation for the skill that is over its target service level and increment the allocation for the skill that is under its target service level for each of these agents. The processing can be executed off line in a simulation mode where the processing continues iteratively, the skill target level process decreases the amount by which allocations are incremented and decremented. The skill target level process is repeated a number of times and the results used in agent allocation. Alternatively, the processing is event driven in a real time system.
A third process is the agent occupancy reduction process which reduces the occupancy for some set of the agent population without a significant expenditure of manual administration. The identity of each agent and the skills assigned to each agent are recorded and the service level target of each skill is input. The agent occupancy reduction process analyzes the incoming traffic offered to each skill by computing a weighted service level for each skill using an exponential moving average based upon the expected wait time of that skill. The weighted service level for each skill is periodically updated and the expected wait time is based on the number of agents eligible to receive a call for the skill, the number of calls queued for that skill, and the weighted advance time for that skill. An agent is eligible to receive a queued call for a skill if that agent is available and is not auto reserved for that skill. The value passed to the exponential moving average is based on the ratio of the expected wait time and the administered acceptable service level.
A fourth process is the agent occupancy process which addresses the need for the call center administrator to equalize the occupancy of all agents in the call center regardless of their skills. Existing systems use Least Occupied Agent in an agent surplus condition but only when more than one agent is available and a call arrives. There is no ability of the call center administrator to vary the occupancy of agents relative to others. Estimating agent occupancy is accomplished by computing the weighted call handling time using an exponential moving average that is updated on a call completed basis. The weighted inter-call time is computed using an exponential moving average that is updated when a call is offered to an agent. The agent""s occupancy is computed by taking the ratio of the weighted call handling time and the sum of the weighted call handling time and the weighted inter-call time. The skill selection in a call surplus condition is the skill whose active agents have the highest average occupancy relative to the average administered target occupancy for these agents. If two skills are equal, the selected skill is the one with the oldest call waiting. The agent selection in an agent surplus condition is the agent whose occupancy is lowest relative to the administered target occupancy for that agent.
Thus, the present system for automatically routing calls to call center agents in an agent surplus condition provides the call center administrator with an automatic agent assignment paradigm which functions to automatically increase the efficiency of assigning multiple skill agents to contacts.